(css: "font-size: 150%;") [<center> BODY PLANS
FOR THE
NEW MILLENNIUM </center>]
<center>[[..o.. -> intro1]]</center>
(display: "sound load")[<center>(display: "anger graphic")</center>](set: $axis1 to "anger")
(set: $sec to 4)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)(display: "multinode story first half")
(if: $previousAxis1 is "anger") [(set: $axis2 to "shortTime")Barely a fortnight after the Borgias’ transition into crustaceans, a colony of gigantic crabs became privy to the nearness of a gargantuan octopus. Overtaken by a violent fear, the crabs scattered and hid amid deep clusters of limestone, hoping for the hardness of the rock to offer them protection. It did not work. Indifferent to the constraints of geometry, the octopus poured itself into the rocky crevices and, like a beast made of liquid, drowned the crabs in its musculature, crushing their carapaces and feasting on their juicy innards.
Many crabs fell to the octopus’ muscular embrace. Those who didn’t, however, carried within them a fright that no grammar could properly articulate. Generations later, a young crab saw, in the distance, a shadow resembling eight nimble limbs. Without understanding why, a knowledge coded deep within his flesh compelled him to run away.](else-if: $previousAxis1 is "joy")[(set: $axis2 to "midTime")Short of a century after the Borgias’ transition into crustaceans, a handful of gargantuan crabs started to molt in the heart of the Amazonian rainforest. Fully aware of the dangers of softness, their kin banded together to bring them fished fish and the occasional broken-neck capybara, and despite the lack of familial bonds, a couple of sturdy crabs stood guard to discourage the pumas.
On the third morning of their softness, the molters were presented with an excess of acais and mangos. They gorged themselves, inadvertently covering their bodies with sweet juices and seeds. Elated, they gurgled loudly, as if in gratitude, as if in a promise of reciprocity.
As the molters enjoyed their fruity feast, a multitude of bullet ants started to gather in the vicinity. Eager to share in the crabs’ bounty, the ants crawled over the molters, taking bites of fruit out of their mouths and pincers. By the time the sentinel crabs noticed the encroachment, the molters were overrun by ants, their shape almost indistinguishable under the breathing drapery of eager jaws. The ants preferred the sweetness of fruit, but were no strangers to the taste of flesh.](else-if: $previousAxis1 is "sadness")[(set: $axis2 to "longTime")A couple million years after the Borgias’ transition into crustaceans, a colony of gargantuan land crabs withered away in the Andean highland. Surrounded by mountain and stone, they themselves had grown to become a bit like mountain and a bit like stone: grey, huge, slow. For reasons that escaped them, over the last couple of days much of the local fauna had left their volcano-side dwellings en masse, leaving the crabs hungry and alone. They, too, had felt an unnamable compulsion to run away, but their enrockened limbs had long renounced nimble movement.
On the eve of the fourth day of their abandonment, the earth started a furious heartbeat; a relentless sequence of tremors that brought down mountain and crab alike. From the volcano’s summit, a bright maw poured liquid sun onto the valleys. The crabs, in abject terror, walked their fastest walk away from the angry mountain. They plunged themselves into a nearby lake, hoping to awaken some aquatic memory in their lungs.
Submerged deep in cold water, the stony crabs drowned.]
(display: "multinode story second half")
(display: "anger engine")(display: "sound continue")]][<center>(display: "anger graphic")</center>](set: $axis1 to "anger")<!-- COMMENT: This displays one graphical composition that corresponds to the emotion on axis 1. Then, the axis1 global variable is set to the main emotion of the current node --><!-- COMMENT: What follows is a simple 'if, else-if' function that will display different text depending on the axis of the PREVIOUS node. This is meant to highthen/create realationality between the emotional axis of the CURRENT node and the emotional axis of the PREVIOUS one. Additionally, it determines the appropiate temporal axis so that it may be read by the sound engine -->
(set: $sec to 4)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)<!-- COMMENT: This timer conditional assures the elements of the passage will not instantiate until the graphic animation has finished running.-->(display: "multinode story first half")<!-- COMMENT: This function will display, in a linear fashion, a story that develops throughout several nodes. The perspective from which this story is told will change depending on the axis of the current node.-->
(if: $previousAxis1 is "anger") [(set: $axis2 to "shortTime")A couple of days after the Borgias' encrabment, a coastal town near the Argentinean pampas was besieged by a battalion of gargantuan crustaceans. The invading force came in at noon, clattering into market square as their hard limbs rained upon the cobbled streets. The turmoil echoed across town and woke the local gargantuan crustaceans that were peacefully dreaming of romaine lettuce and sea salt.
Vexed by the intrusion, the residents poured out of their windows and flung themselves against the unfamiliar arthropods. There was a hammering of claws, a breaking of shells, a snapping of limbs. There was an impossibly loud belligerent gurgling that grew louder and louder until it didn’t. The streets were painted blue.](else-if: $previousAxis1 is "joy")[(set: $axis2 to "midTime")About a decade after the Borgias' encrabment, a host of gargantuan crustaceans had corralled their young in the shallow ponds that surrounded their mangroves. Tens of thousands of crablings, still no bigger than the pit of a peach, started emerging from their larval carapaces bearing the wide shells and elegant limbs of their foreparents. Driven by a deep, primal urge, they poured out of their ponds and ran desperately towards the water, weaving a tapestry of eager life between the earth and the sea.
Much aware of the momentousness of the occasion, the gargantuan crabs who sired the crablings had taken post around the shore to bear witness. As soon as they saw their young cascading towards them, they raised their pincers to the sky and erupted in joyous gurgling. They tried to stay still to avoid accidental trampling, but they couldn’t help themselves: there was a song in their limbs, and so they marched in place. A little dance.
As the living tapestry of crablings descended upon the shore, the denizens of the mangrove set out to feed. From above, a flock of white ibises took turns to poach the slow ones, which were often the biggest and the juiciest. From the ground, dirt-colored snakes took crablings by the mouthful and raccoons choked from biting more than they could chew. The gargantuan crabs, compelled by an incomprehensible fury, ran across the shore trying to drive away the attackers, flailing and gurgling desperately. For every predator they repelled, however, another would join the feeding. A group of laborious ants could consume a crabling, and so could, in the water, the maw of a lemon shark.](else-if: $previousAxis1 is "sadness")[(set: $axis2 to "longTime")Tens of thousands of years after the Borgias' encrabment, almost a hundred crustaceans emerged from their mangroves carrying shiny rocks and pretty sticks. Enduring the pains of gravity and dry air, they climbed a nearby hill and placed their bounty upon the summit. Once the pile had grown taller than even the tallest of crabs and wider than even the most bloated of carapaces, they all made a circle around it and sang, claw in claw, a sad gurgling of remembrance. As if a surrogate weep, it started to rain.
Hidden amid the surrounding trees and bushes, a battalion of hostile crustaceans waited patiently for the mourners to be completely absorbed in song. As a deep sadness settled into the chanters’ cephalothoraxes, the attackers flung themselves against the chanters with reckless disregard. There was a hammering of claws, a breaking of shells, a snapping of limbs. There was an impossibly loud belligerent gurgling that grew louder and louder until it didn’t. The hill was painted blue.]
(display: "multinode story second half") <!-- COMMENT: This function will continue the multinode story started above-->
(display: "anger engine") <!-- COMMENT: This function calls up the corresponding 'engine', which will run the entanglement algorithm and determine which fragments comes next-->(display: "sound continue")<!-- COMMENT: This prepares the audio tracks so that only the intended ones play --><!-- COMMENT: All the nodes called 'mono', have the exact same functions explained in this node. The only things that change are the axes, the tags, and the textual contents.-->]][<center>(display: "joy graphic")</center>](set: $axis1 to "joy")
(set: $sec to 4)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)(display: "multinode story first half")
(if: $previousAxis1 is "anger") [(set: $axis2 to "midTime")A couple of years after the carcinization of the Borgias, a large group of young crustaceans wandering in deep waters was being preyed upon by a gigantic, unnamable shark. They could not swim nimbly enough to escape its maw, nor fast enough to seek refuge in the ocean floor. The shark, content with ramming against the haphazard cluster of crabs with an eager jaw, devoured them by the mouthful. Some younglings jerked around in terror, swimming in circles until the shark got around to poach them. Others, however, allowed themselves to be taken by a kinship of movement. The chaotic cluster of crabs started to assume form: a sphere, a wave, a meander. They would no longer rely on their own bodies but in a shared sense of space. Not two eyes, but many. Not ten limbs, but hundreds. And so they danced. The protean cluster warped around the shark, caressing its gills, evading its maw.
The shark, exhausted, swam away.](else-if: $previousAxis1 is "joy")[(set: $axis2 to "shortTime")Merely hours after the carcinization of the Borgias, the gargantuan crabs that now inhabited a Japanese fishing village took to the ocean for the first time. As soon as they submerged themselves in the salty water, they were overcome by the comforts of buoyancy, the gravity of a different world. Some walked, cautiously, as if not to trip. Some tripped and tumbled gently onto their backs, struggling to stand straight until a fellow crab tipped them over. There were some, however, who immediately abandoned the safety of the ocean floor and, with little regard for earthly constraints, swam away.
To the bottom dwelling crabs, the swimmers seemed like birds, like dandelions, like clouds, and so they extended their pincers towards the sky, as if asking to be untethered. The swimmers, eager to share the joys of vertical motion, grabbed their sand-bound kin by the claws and moved upwards, as high as they could, and then let go. The uninitiated crabs would tumble back down, desperately jerking their limbs to no avail before hitting the ocean floor. The swimmers would pick them up again, and again, until in the midst of falling a primal engine would start revving, until their limbs remembered how to swim. By the crack of dawn, not a single crab remained bound to the sand.](else-if: $previousAxis1 is "sadness")[(set: $axis2 to "longTime")Several millennia after the carcinization of the Borgias, a dozen gargantuan crustaceans found themselves treading barren grounds deep in the Pacific Ocean. Far away from hospitable waters, the crabs began to starve, finding around them only sand, and rocks, and the carcasses of animals way bigger than themselves.
Unable to find direction in that lightless desert, the crabs accepted their fate. As they sought comfort in the rocks beneath them, however, they felt a multitude of carvings, familiar marks that couldn’t possibly have occurred by whims of the ocean alone. Other crabs had been there before, and the stone was scarred with a record of their itinerary. Emboldened by hope, the lost crabs followed the markings, unwittingly hammering rocks with their pincers and bruising the stone with the tips of their limbs. As they kept moving, the water became a bit lighter, a bit warmer and, slowly, started to brim with life.]
(display: "multinode story second half")
(display: "joy engine")(display: "sound continue")]][<center>(display: "sadness graphic")</center>](set: $axis1 to "sadness")
(set: $sec to 4)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)(display: "multinode story first half")
(if: $previousAxis1 is "anger") [(set: $axis2 to "longTime")Roughly 40,000 years after the Borgias’ crustacean rebirth, a cataclysmic seastorm displaced thousands of giant crabs around the southeastern reaches of the Atlantic. After tumbling in angry waters for days, six crabs washed ashore on a small island inconceivably far from home. Starved and broken, the castaways crawled into the island and found it brimming with lush greenery. To their great surprise and relief, they also found it brimming with crabs: a community of gargantuan crustaceans, strong and thriving.
The locals looked distinct, unambiguously crablike, yes, but significantly bigger than the castaways and proudly displaying a bright green tint in their carapaces. When the locals took notice of the newcomers, they gurgled at them in both recognition and solidarity. They dragged the broken crabs back to their burrows and offered them a generous spread of green leaves and fibrous plants. The castaways, with voracious hunger, ate fast and greedily. Minutes later, however, the undigested greens came back rushing out of their mouths. The locals, confused, brought them chunks of shrub and pieces and fern and big green leaves and juicy vines and all the small bits of jungle the island had to offer. The broken crabs would eat them, but every time their ungrateful mouths returned a sad pungent paste. The local green crabs were willing to share everything they had, but the one thing they couldn’t share was the ecosystem within their bodies, the diminutive organisms that, for hundreds of generations, had evolved alongside them to make food out of place.
The castaways, surrounded by lush sustenance, died of hunger.](else-if: $previousAxis1 is "joy")[(set: $axis2 to "shortTime")As the Borgias experienced their crustacean rebirth, a group of newly transformed gigantic crabs arose in the middle of the Sahara. The night before, they’d been lost humans, marooned in barren lands waiting for death to take them. When they became aware of their arthropod physiology, however, they were overtaken by hope. Their bodies, now strong and sturdy, could tread the sand with ease, and their hard carapaces were impervious to the hostility of scorpion and snake alike. As if by providence, a burst of rain moistened their gills.
Without losing another minute, the crabs strode forwards, rushing towards the horizon they thought most hospitable. In a matter of hours, they became proficient at inhabiting their new bodies, knowing full well when to consciously steer and when to follow the primal intelligence coded deep within their limbs. Amid their eager strides, there was a constant, joyous gurgling.
Three days later, the desert seemed as incomprehensibly vast as it was when their limbs were still soft and fleshy. Not a single drop of rain had fallen since the morning of their transformation, and the scorpions and snakes offered only sparse and unsating sustenance. Their movement, once flush with zeal, had grown sluggish and miserable. By the dawn of the fourth day, the crabs didn’t move at all. Behind them, their hopeful trail was devoured by the wind.](else-if: $previousAxis1 is "sadness")[(set: $axis2 to "midTime")Not a decade after the Borgias’ crustacean rebirth, a rocky shore in Greenland saw an isolated group of eight gigantic crabs enduring the pains of molting. Soft and naked, the crabs found themselves incapable of using their claws to pluck prey out of hard crevices, and their exposed musculature would tear when forced to move across the stony thorns sown throughout the coast.
In gentler times, other crabs with strong carapaces would’ve taken care of their molting kin, bringing them food and protecting them from the hard edges of the world. These eight naked crabs, however, were alone.
Before their limbs could harden, their stomachs grew terminally void.]
(display: "multinode story second half")
(display: "sadness engine")(display: "sound continue")]][<center>(display: "sadness graphic")</center>](set: $axis1 to "sadness")
(set: $sec to 4)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)(display: "multinode story first half")
(if: $previousAxis1 is "anger") [(set: $axis2 to "longTime")Thirteen million years after the Borgias were become crabs, a band of migrating arthropods was overrun by parasitic mold. When they stopped to wallow in a shallow pond, the mold entered their bodies, growing silently in the space between their gills. The mold, armed with countless generations of biological wisdom, knew to stay coy and harmless until the crabs had traveled far from the tiny pond in which they were boarded.
After weeks of treading the world, the crabs started to breed a struggle in their breathing, and a violent fear of the other crabs that traveled alongside them. As if by a primal compulsion, they abandoned one another, and their seafaring thoughts were usurped by a sudden craving for humid soil.
In the days that followed, the scattered crabs sought thickets and forests, and once they found an inviting spot, they buried their limbs into the earth. Indifferent to the need for sustenance or movement, the crabs became mold themselves.](else-if: $previousAxis1 is "joy")[(set: $axis2 to "midTime")Seven winters after the Borgias were become crabs, former human cities were overrun by an abundance of life. The new citizens thrived, making dens and nests out of the concrete derelict and populating the streets with growth. There were some, however, who fared poorly in the absence of their human companions. Small dogs were poached by bigger dogs and housebound pets starved. The internal ecosystem of domesticated animals was promptly besieged by the microbial bounty of their feral counterparts, and even the sturdiest of houseplants withered when denied rain.
Seven winters after the Borgias were become crabs, the last indoor cactus died of thirst.](else-if: $previousAxis1 is "sadness")[(set: $axis2 to "shortTime")Ten minutes after the Borgias were become crabs, a small Bavarian town erupted in a sad, desperate gurgling. The townsfolk, faced with the reality of their arthropod physiology, were overcome by grief. Many flung themselves out their windows immediately, and others attacked the perceived monsters with whom they shared a home. There were some, however, that simply stood still, a madness creeping deep into their limbic selves.
Unable to make sense of the new world, the catatonic crabs shriveled in a prolonged silence.]
(display: "multinode story second half")
(display: "sadness engine")(display: "sound continue")]][<center>(display: "joy graphic")</center>](set: $axis1 to "joy")
(set: $sec to 4)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)(display: "multinode story first half")
(if: $previousAxis1 is "anger") [(set: $axis2 to "midTime")25 years after the Borgias found themselves transformed into gigantic arthropods, a massive earthquake ascended from the tectonic entrails of the Qatari heartland. The violent reshaping of the soil displaced the already sparse inhabitants of the region, and whomever remained that was not crushed or uprooted found themselves surrounded by the countless rocky pits left in the earthquake's wake.
The shaking had aroused the vascular hydraulics that lay dormant in the Qatari bedrock, and in a matter of weeks, the earth had bled into nigh every pit, filling it to the brim with water.
It didn’t take long before the industrious crabs that had been relegated to the shores took notice of the ecosystem of moist that had emerged from the collapsed desert. They, along with a multitude of other thirsty creatures, took to the heartland en masse.
In the middle of the Qatari desert, a young crab frolicked in wet sand.](else-if: $previousAxis1 is "joy")[(set: $axis2 to "shortTime")The day after the Borgias found themselves transformed into gigantic arthropods, a group of young crabs gathered near a Peruvian seashore and playfully threw rocks at one another. Their pincers lacked the minute precision of their former limbs, but the added challenge made the game all the more compelling. Whenever someone would land a hit, all the others would erupt in joyous gurgling.
Earlier that week, the same children played tag and soccer and, when no adults were looking, walked on all fours and pretended to be panthers.](else-if: $previousAxis1 is "sadness")[(set: $axis2 to "longTime")200,000 years after the Borgias found themselves transformed into gigantic arthropods, a massive wall of rock and sediment coiled around an archipelago in the south Pacific. Over millennia, the gargantuan crabs that inhabited the islands had built and cared for the wall, following a deep seated compulsion for adding small pieces of their world into the structure and welding them in with a mixture of saliva and sand.
Whatever lurked at the other side was a mystery to the living crabs, a long forgotten danger kept at bay by the material border they had instinctively erected.
There was a game played by the young, one that consisted of scavenging for the biggest piece of rock, or carapace, or coral and then fixing it into the wall as high as they possibly could. Oftentimes, the younglings would swim too high and fall flat on their backs, over-encumbered by the weight of their contributions. Whenever this would happen, the other crabs gurgled playfully, helped the young up, and encouraged them to try again.]
(display: "multinode story second half")
(display: "joy engine")(display: "sound continue")]]
<center>(css: "font-size: 150%;")[THE END]
[(display: "final graphic")]
(set: $sec to 5)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)(link:"--Compose another story--")[(reload:)]<script>
audio1.volume = 0;
audio2.volume = 0;
audio3.volume = 0;
audio4.volume = 0;
audio5.volume = 0;
audio6.volume = 0;
audio7.volume = 0;
audio8.volume = 0;
audio9.volume = 0;
audio10.volume = 1;
</script>]]</center><!-- COMMENT: This function will completely reload the story, reseting all the variables and progression and starting everything from scratch-->
[<center>(display: "loading graphic")</center>]<!-- COMMENT: This serves no functional purpose, but it does convey the idea that the machine is doing some work.-->
The machine is composing a story for you. Please wait until the symbols stop moving and then click on the button that will appear below:
<!-- COMMENT: The following operation sets up the global counter variable. Then, the selection array (initialSelection, in this case) is set up. Then, the array is populated with any item from the 'passages' array (that is, the array that containts all the existing nodes) that contains the tags the machine will work with. Then, if the selection array was filled with any passages (that is, if the lenght of the array if more than 0), the temporal variable "random" is created by determining a random number between 1 and the total lenght of the selection array. Then, the temporal variable "target" is created by choosing one node from the selection array that is located in whatever place the "random" variable determined. E.g. If the "random" variable came up as 4, the "target" variable will be set as the 4th item in the selection array, which will always be one of the nodes that contains the tags determined above. Then, the link is set to go to "target". Finally, the opening time conditional statement makes the following operation execute (and, thus, display the button) only after the loading graphic animation has ended--><center>(set: $sec to 8)(live: 1s)[(set: $sec to it - 1)(if: $sec < 0) [(stop:){(set: $counter to 1)(set: $initialSelection to (a:))(set: $initialSelection to (find: _item where _item's tags contains "anger" or _item's tags contains "joy" or _item's tags contains "sadness", ...(passages:)))}(if: $initialSelection's length > 0)[(set: _random to (random: 1, $initialSelection's length)) (set: _target to $initialSelection's (_random)'s name) (link-goto: "..o..", _target)
<!-- COMMENT: The following operation determines what tag the target node if going to have, and then determines sets the "previousAxis1" to that tag. This makes it so that in the first page, everything will have the same axis1 category. This only happens in that first page-->
(if: $initialSelection's (_random)'s tags contains "anger")[(set: $previousAxis1 to "anger")](elseif: $initialSelection's (_random)'s tags contains "joy")[(set: $previousAxis1 to "joy")](elseif: $initialSelection's (_random)'s tags contains "sadness")[(set: $previousAxis1 to "sadness")]]]]</center>
(display: "sound sync")<!-- COMMENT:This makes sures all the sound files are synchronized-->
<!-- COMMENT: All the 'engine' algorithms function in the same way, albeit each have their own individual instances of some variables. These engines are also, in essence, very similar to the selection algorithm in the 'intro1' node, however, they do have an added level of complexity. I will now explain how the flow of processes works: First, each time the engine is called, the global counter variable advances by 1. Then, the global axis1 variable is set to the axis1 of the current node. Then, I set up two variables (namely, 'endingKeyOne' and 'endingKeyTwo') to 'no'. This is important as these variables will be checked in each iteration of the algorithm to see if the machine instantiates another 'random' node or if it goes to the ending sequence once all the 'random' nodes have been instanciated once. Then, I set the 'StillNew' array to populate with all the passages that are not in the 'history' array. That is, all the 'random' nodes that have not been instanciated yet. Then, I set the array 'notCurrent' to populate with all the passages that are not the current passage (an inelegant solution, but I needed to keep the current passage from being available to the selection algorithm, and the current passage is not part of the 'history' array, so this is a workaround). Then, I set up the selection array (axis1ASelection, in this case). Then, I populate this array with any item from the 'passages' array (that is, the array that containts all the existing nodes) that contains the tags 'joy' or 'sadness' (to prevent, whenever possible, two nodes from the same axis1 category from instantiating one after another) and that are part of the 'StillNew' array. Then, if the selection array was populated with any passages (that is, if the lenght of the array is more than 0), the temporal variable "random" is created by determining a random number between 1 and the total lenght of the selection array. Then, the temporal variable "target" is created by choosing one node from the selection array that is located in whatever place the "random" variable determined. Then, the link is set to go to 'target'. Now, if the the lenght of the selection array is equal to 0 (that is, there are no more nodes from other scales, and only other nodes from the current axis1 remain), then I set the selection array to a blank value and change the 'endingKeyOne' variable to 'yes'. Now, if the selection array is set to a blank value, the same selection algorithm will be run again, with the difference that now it will look for nodes that have the same tag as the current node. This will allow for nodes of the same axis1 category to instantiate one after another, but only if there are no more nodes of other categories of axis1 left. Finally, if there are no nodes tagged with any axis1 category left, the 'endingKeyTwo' variable will be set to 'yes'. If both the 'endingKeyOne' and 'endingKeyTwo' variables are set to 'yes', the link will take the reader to the closing sequence. Alternatively, since this particular story is set up to finish upter a predetermined number of nodes, I just set up a conditional function that takes the reader to the closing sequence once the counter that I set at the beginning hits a predetermined amount --><center>(if: $counter is 3)[(link-goto: "..o..", "Ending")] (else:)[(set: $counter to $counter+1)(set: $previousAxis1 to "anger")(set: $endingKeyOne to "no")(set: $endingKeyTwo to "no")(set: $StillNew to (passages: _passage where not (_passage's name is in (history:))))(set: $notCurrent to (passages: _passage where not (_passage's name is (passage:)'s name))){(set: $axis1ASelection to (a:))(set: $axis1ASelection to (find: _item where _item's tags contains "joy" or _item's tags contains "sadness" and _item is in $StillNew, ...(passages:)))} (if: $axis1ASelection's length > 0)[(set: _random to (random: 1, $axis1ASelection's length)) (set: _target to $axis1ASelection's (_random)'s name) (link-goto: "..o..", _target)] (else: ) [(set: $axis1ASelection to "")(set: $endingKeyOne to "yes")](if: $axis1ASelection is "") [{(set: $axis1ASelection to (a:))(set: $axis1ASelection to (find: _item where _item's tags contains "anger" and _item is in $StillNew and _item is in $notCurrent, ...(passages:)))} (if: $axis1ASelection's length > 0)[(set: _random to (random: 1, $axis1ASelection's length)) (set: _target to $axis1ASelection's (_random)'s name) (link-goto: "..o..", _target)](else:) [(set: $endingKeyTwo to "yes")]](else:) [(set: $endingKeyTwo to "yes")] (if: $endingKeyOne is $endingKeyTwo) [(link-goto: "..o..", "Ending")]]<center>(if: $counter is 3)[(link-goto: "..o..", "Ending")] (else:)[(set: $counter to $counter+1)(set: $previousAxis1 to "joy")(set: $endingKeyOne to "no")(set: $endingKeyTwo to "no")(set: $StillNew to (passages: _passage where not (_passage's name is in (history:))))(set: $notCurrent to (passages: _passage where not (_passage's name is (passage:)'s name))){(set: $axis1BSelection to (a:))(set: $axis1BSelection to (find: _item where _item's tags contains "anger" or _item's tags contains "sadness" and _item is in $StillNew, ...(passages:)))} (if: $axis1BSelection's length > 0)[(set: _random to (random: 1, $axis1BSelection's length)) (set: _target to $axis1BSelection's (_random)'s name) (link-goto: "..o..", _target)] (else: ) [(set: $axis1BSelection to "")(set: $endingKeyOne to "yes")](if: $axis1BSelection is "") [{(set: $axis1BSelection to (a:))(set: $axis1BSelection to (find: _item where _item's tags contains "joy" and _item is in $StillNew and _item is in $notCurrent, ...(passages:)))} (if: $axis1BSelection's length > 0)[(set: _random to (random: 1, $axis1BSelection's length)) (set: _target to $axis1BSelection's (_random)'s name) (link-goto: "..o..", _target)](else:) [(set: $endingKeyTwo to "yes")]](else:) [(set: $endingKeyTwo to "yes")] (if: $endingKeyOne is $endingKeyTwo) [(link-goto: "..o..", "Ending")]]<center>(if: $counter is 3)[(link-goto: "..o..", "Ending")] (else:)[(set: $counter to $counter+1)(set: $previousAxis1 to "sadness")(set: $endingKeyOne to "no")(set: $endingKeyTwo to "no")(set: $StillNew to (passages: _passage where not (_passage's name is in (history:))))(set: $notCurrent to (passages: _passage where not (_passage's name is (passage:)'s name))){(set: $axis1CSelection to (a:))(set: $axis1CSelection to (find: _item where _item's tags contains "anger" or _item's tags contains "joy" and _item is in $StillNew, ...(passages:)))} (if: $axis1CSelection's length > 0)[(set: _random to (random: 1, $axis1CSelection's length)) (set: _target to $axis1CSelection's (_random)'s name) (link-goto: "..o..", _target)] (else: ) [(set: $axis1CSelection to "")(set: $endingKeyOne to "yes")](if: $axis1CSelection is "") [{(set: $axis1CSelection to (a:))(set: $axis1CSelection to (find: _item where _item's tags contains "sadness" and _item is in $StillNew and _item is in $notCurrent, ...(passages:)))} (if: $axis1CSelection's length > 0)[(set: _random to (random: 1, $axis1CSelection's length)) (set: _target to $axis1CSelection's (_random)'s name) (link-goto: "..o..", _target)](else:) [(set: $endingKeyTwo to "yes")]](else:) [(set: $endingKeyTwo to "yes")] (if: $endingKeyOne is $endingKeyTwo) [(link-goto: "..o..", "Ending")]](set: $time to 3)(live: 1s)[(set: $time to it - 1)]<!-- COMMENT: This sets up a timer that will be processed by the "live" functions below-->
<(live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]]
>(live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]]
<(live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]](live: 1s)[(either: ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<")(if: $time is 0)[(stop:)]]<!-- COMMENT: This graphical arrangement simply displays a random combination of symbols in 3 different lines, creating a unique 'signature' for each fragment. The two other graphical nodes are functionally identical to this one. The only difference is the type of simbols displayed-->(set: $time to 3)(live: 1s)[(set: $time to it - 1)]
o(live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]]
O(live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]]
o(live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](set: $time to 3)(live: 1s)[(set: $time to it - 1)]
.(live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]]
.(live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]]
.(live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](set: $time to 4)(live: 1s)[(set: $time to it - 1)]
.(live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]]
.(live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]]
.(live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]]<!-- COMMENT: This algorithm will instantiate the first half of a story that develops throughout multiple nodes.-->(if: $counter is 1) [(display: "multi first half 1")](else-if: $counter is 2)[(display: "multi first half 2")](else-if: $counter is 3)[(display: "multi first half 3")](else:)[This text would pop up if, somehow, the counters got screwed. I hope this never happens.]<!-- COMMENT: Here, the algorithm is simply reading the global 'counter' variable and instantiating the contents of a specific node based on the value 'counter'. This assures that this story will progress linearly regardless of what 'random' node is selected by the main entanglement algorithm-->(if: $axis1 is "anger") [(set: $axis3 to "parents")Life at the Borgias' house quickly became untenable. Their rooms and corridors and doorways, made to deal with human-shaped dwellers, were laid bare by the deep scarring of arthropod transit. Their things, now a thick layer of wreckage upon the floor, instilled an uncomfortable urgency. The mother had been waging war with vermin for days. The mice and cockroaches that she once thought the burden of lesser households had made a home in the now unreachable crevices of her surroundings. Whenever she caught one of the critters scampering away from safe cover, she would crush it under her massive pincer. She felt intoxicated by her own strength, knowing full well that she could just as easily crush a raccoon, or a fox, or a small child. Not that she would ever, she reassured herself. Still, she reveled in the possibility.](else-if: $axis1 is "joy")[(set: $axis3 to "son")Life at the Borgias' house quickly became untenable. Their rooms and corridors and doorways, made to deal with human-shaped dwellers, were laid bare by the deep scarring of arthropod transit. Their things, now a thick layer of wreckage upon the floor, instilled an uncomfortable urgency. In the dead of night, while the rest of the family gurgled loudly at each other for reasons he could not discern, the son quietly climbed down the window determined to find comfort in the arms of his beloved. The journey, which before would have taken no longer than fifteen minutes, went on for hours. The streets felt unfamiliar to him, and out in the open he struggled to steer his body with any semblance of elegance. His eyes, high up in their stems, simultaneously offered him all possible directions, and his legs, confused, stumbled upon each other, entangling themselves in painful arrangements. After his seventeenth fall, however, something clicked, and instead of trying to submit each of his limbs to conscious orchestration, he embraced the natural bent of his joints, his panoptic sense of space, and the eager strength of his inner musculature. By dawn, he had become a creature of motion, effortlessly weaving through the undarkened streets.](else-if: $axis1 is "sadness")[(set: $axis3 to "daughter")Life at the Borgias' house quickly became untenable. Their rooms and corridors and doorways, made to deal with human-shaped dwellers, were laid bare by the deep scarring of arthropod transit. Their things, now a thick layer of wreckage upon the floor, instilled an uncomfortable urgency. By then, the daughter had become obsessed with the putrid smell that permeated the house: the humid trash, the rotting carcasses, the mold. She would hold her pincers against the front of her carapace, where she assumed her nose would be, just to realize that she could still feel the stench being absorbed into her body, through her shell, through her limbs. Her entire self had become privy to the minuscule fragments that inhabited the air. She could feel the smell. Taste it. She had tried to run away from it but soon learned that the world was full of fragrance, and that there was no escaping the omnipresent flavor of things. She stretched her limbs and hugged her bed’s metallic frame. It felt bitter, somewhat salty, and not absent zest.](if: $axis1 is "anger") [(set: $axis3 to "daughter")Upon waking on the morning of January 1st, after welcoming the millennium with unrivaled zest, the Borgias found themselves transformed into gigantic crabs. The young daughter, unable to fully determine if she was awake or dreaming, softly passed her left pincer over her hardened torso. As she felt the cartilaginous quality of her being, she moved her insides in a way that, the night before, would have engendered a scream. Now, however, the only thing that came out of her mouth was a moist, almost tender gurgling.](else-if: $axis1 is "joy")[(set: $axis3 to "parents")Upon waking on the morning of January 1st, after welcoming the millennium with unrivaled zest, the Borgias found themselves transformed into gigantic crabs. Still lying in bed and after taking stock of the situation, the mother tenderly moved her pincers to meet her husband’s carcinized body. His deep black eyes, barely protruding from his shell, conveyed an impossibly urgent terror. His limbs, all ten of them, jerked as if unwillingly. “It’ll be alright, love. We’ll be alright,” she tried to say, but her crustacean throat betrayed her. Instead, a light gurgling came out.](else-if: $axis1 is "sadness")[(set: $axis3 to "son")Upon waking on the morning of January 1st, after welcoming the millennium with unrivaled zest, the Borgias found themselves transformed into gigantic crabs. The eldest son, still in disbelief, fixated on the improbable shapes of his crustacean body. He thought, quite hopefully, that it was a trick of the light, a half-dream, a stroke of madness. He thought, quite hopefully, that if he took a deep breath and closed his eyes, his fleshy bits would come back running, back to their rightful place upon him. He took a deep breath but, try as he might, his eyes wouldn’t close. He brought his pincers to his hardened face in the hopes of triggering a blink, but his blinking bits were missing and his eyes were rough like nails, like cartilage. He attempted a sob. A gurgling came out.]<!-- COMMENT: Here, a version of the multi-node story will be selected based on the axis1 of the node in which this story is being instantiated. For example, if the first part of the multi-node story is being instantiated in a meso node, then said part of the story would be told from a meso perspective. The point here is telling a linear story with a dynamic perspective that changes from node to node based on the axis of the node in which it appears. In practice, this means that the multi-node story will have a fixed number of parts (in this case, 9), and that each part will have 3 versions, one for each possible axis1. Additionally, the axis3 value will be determined based on which version of the multinode story instantiates-->(if: $axis1 is "anger") [(set: $axis3 to "son")A weariness had settled deep into the Borgias' souls, and their shells, and their soft, muscular innards. Far from his childhood house, the son had spent several nights frolicking under automatic sprinklers, feeling something he could only think of as love and yet, not the moisture nor the pleasant company relieved him of the aching that had come to besiege his body. He had grown weaker, felt heavier. It was as if his carcinized self craved for a buoyancy that the air denied him. He felt a pull, a hunger for water that the waning sprinklers could not sate. One day, he woke up in the middle of the morning and gurgled at his beloved to try and convey this primal need, but there was no response. He tried to wake him up by gurgling louder, by poking the side of his shell, by hitting him between the eyes. He tried thrusting himself underneath him, tipping him over, but his beloved remained silent. Stiff. The sprinklers leaked, moistening the grass.](else-if: $axis1 is "joy")[(set: $axis3 to "daughter")A weariness had settled deep into the Borgias' souls, and their shells, and their soft, muscular innards. The daughter looked at her half-collapsed room and felt trapped, incarcerated by the remains of her bipedal past. Not knowing what to do, she paused for a minute to inhale, to take in the world. Out of all the flavors in the air, mild and strong, one caught her attention: a faint trail of salt, a mineral moisture. To her, it felt like an invitation. And so she climbed out her window and surrendered to the beckoning of the shores, treading the streets with arthropod elegance.](else-if: $axis1 is "sadness")[(set: $axis3 to "parents")A weariness had settled deep into the Borgias' souls, and their shells, and their soft, muscular innards. The father woke up in the middle of the day gasping for something. There was plenty of air but it felt rough, as if breathing minuscule blades, pulverized glass. His body was aching for moisture, and he felt not unlike drowning. The mother, much aware of her watery needs, had barricaded herself in the bathroom and broken every pipe within reach of her pincers. For a while, vital wetness rained upon her, but soon the leaking grew milder, until there was no leaking at all. The father, desperate, had rummaged the remains of the fridge and crushed every container that housed any form of moisture. Jugs of spoiled milk, cans of warm beer, a jar of alfredo sauce. He created a wetness on the floor and wallowed in it. It helped, but he knew full well that it wouldn’t last for long. There was a pull in his body, a hunger for water that hummed inside every crevice of his being.]<!-- COMMENT: The following script loads all the audio files that will be used throughout the story.-->
<script>
var audio1 = document.createElement('audio');
audio1.src = 'https://feeds.soundcloud.com/stream/973643206-jeanrac-bpnm-bass-1.mp3';
audio1.loop = true;
</script>
<script>
var audio2 = document.createElement('audio');
audio2.src = 'https://feeds.soundcloud.com/stream/973643191-jeanrac-bpnm-bass-2.mp3';
audio2.loop = true;
</script>
<script>
var audio3 = document.createElement('audio');
audio3.src = 'https://feeds.soundcloud.com/stream/973643176-jeanrac-bpnm-bass-3.mp3';
audio3.loop = true;
</script>
<script>
var audio4 = document.createElement('audio');
audio4.src = 'https://feeds.soundcloud.com/stream/973643164-jeanrac-bpnm-chords-1.mp3';
audio4.loop = true;
</script>
<script>
var audio5 = document.createElement('audio');
audio5.src = 'https://feeds.soundcloud.com/stream/973643146-jeanrac-bpnm-chords-2.mp3';
audio5.loop = true;
</script>
<script>
var audio6 = document.createElement('audio');
audio6.src = 'https://feeds.soundcloud.com/stream/973643125-jeanrac-bpnm-chords-3.mp3';
audio6.loop = true;
</script>
<script>
var audio7 = document.createElement('audio');
audio7.src = 'https://feeds.soundcloud.com/stream/973643101-jeanrac-bpnm-lead-1.mp3';
audio7.loop = true;
</script>
<script>
var audio8 = document.createElement('audio');
audio8.src = 'https://feeds.soundcloud.com/stream/973640173-jeanrac-bpnm-lead-2.mp3';
audio8.loop = true;
</script>
<script>
var audio9 = document.createElement('audio');
audio9.src = 'https://feeds.soundcloud.com/stream/973640101-jeanrac-bpnm-lead-3.mp3';
audio9.loop = true;
</script>
<script>
var audio10 = document.createElement('audio');
audio10.src = 'https://feeds.soundcloud.com/stream/973643119-jeanrac-bpnm-drums.mp3';
audio10.loop = true;
</script>
<!-- COMMENT: This script, to be ran at the beginning of each node, silences all the tracks (without stopping them). The only one that remains playing is the drum track, which is intended to never stop. -->
<script>
audio1.volume = 0;
audio2.volume = 0;
audio3.volume = 0;
audio4.volume = 0;
audio5.volume = 0;
audio6.volume = 0;
audio7.volume = 0;
audio8.volume = 0;
audio9.volume = 0;
audio10.volume = 1;
</script>
<!-- COMMENT: This script determines which tracks will be unmuted based on the content that instantiates in each node-->
(if: $axis1 is "anger") [<script>audio1.volume = 1</script>]
(else-if: $axis1 is "joy")[<script>audio2.volume = 1</script>]
(else-if: $axis1 is "sadness")[<script>audio3.volume = 1</script>]
(if: $axis2 is "shortTime") [<script>audio4.volume = 1</script>]
(else-if: $axis2 is "midTime")[<script>audio5.volume = 1</script>]
(else-if: $axis2 is "longTime")[<script>audio6.volume = 1</script>]
(if: $axis3 is "daughter") [<script>audio7.volume = 1</script>]
(else-if: $axis3 is "parents")[<script>audio8.volume = 1</script>]
(else-if: $axis3 is "son")[<script>audio9.volume = 1</script>]
<!-- COMMENT: The following scripts play all the audio tracks, and set their volume to 0 so that they are not audible despite the fact that they are playing already. Since the files are meant to be played together, even the smallest delay in playback initation generated by the loading times of the files can be quite noticeable, so the "currentTime" function rewinds them all back to the beginning and assures that the audio will be syncronized -->
<script>
audio1.play();
audio2.play();
audio3.play();
audio4.play();
audio5.play();
audio6.play();
audio7.play();
audio8.play();
audio9.play();
audio10.play();
</script>
<script>
audio1.volume = 0;
audio2.volume = 0;
audio3.volume = 0;
audio4.volume = 0;
audio5.volume = 0;
audio6.volume = 0;
audio7.volume = 0;
audio8.volume = 0;
audio9.volume = 0;
audio10.volume = 1;
</script>
<script>
audio1.currentTime = 0;
audio2.currentTime = 0;
audio3.currentTime = 0;
audio4.currentTime = 0;
audio5.currentTime = 0;
audio6.currentTime = 0;
audio7.currentTime = 0;
audio8.currentTime = 0;
audio9.currentTime = 0;
audio10.currentTime = 0;
</script><!-- COMMENT: This algorithm will instantiate the second half of a story that develops throughout multiple nodes.-->(if: $counter is 1) [(display: "multi second half 1")](else-if: $counter is 2)[(display: "multi second half 2")](else-if: $counter is 3)[(display: "multi second half 3")](if: $axis1 is "anger") [In her room, incapable of articulating words, the young daughter raged. Her wrath, enhanced by her arthropod physiology, descended upon her furnitures with biblical indifference. The disembodied neck of Mr. Sourdough, her stuffed giraffe, flew across the air.](else-if: $axis1 is "joy")[Back at the Borgias’ state, the father had found solace in his wife’s temperance. They rose from bed together, claw in claw, and set out to face the world.](else-if: $axis1 is "sadness")[In his room, the son couldn’t stop looking at his carcinized self. He realized that this was no dream and wondered if he would ever dream again, eyes wide open and all.](if: $axis1 is "anger") [Back in his room, the father, starved for normalcy, rummaged the remains of his wardrobe for clothes to cover his nakedness. He tried putting on shirts and pants on his multiple limbs, but he lacked the shape and range of motion that those garments so intransigently demanded. After tearing apart the last of his dress shirts, he settled for a baseball cap, which he balanced precariously on top of his shell, between the stems of his eyes. He slowly walked to the window and rejoiced in seeing the civilized reflection of a clothed being. A moment passed, and the cap promptly fell to the floor. He gurgled loudly and, irate, flung himself through the glass, seeking permanent relief in the sidewalk two floors below. The concrete cracked, but his carapace remained unscathed.](else-if: $axis1 is "joy")[Once arrived at the house of his beloved, the son found a gigantic crab moistening himself in the middle of two automatic sprinklers. He approached cautiously, unsure if the crab before him was the crab he so desperately wanted to encounter. The moistened crab raised the stems of his eyes and gurgled softly, as if asking a question. The son gurgled back, as if to answer, and they both imagined with hopeful certainty that the other was the one they were expecting. The son lay under the sprinklers, next to his beloved, and felt at home.](else-if: $axis1 is "sadness")[Still embracing her bent bed frame, the daughter was overcome with an intense sadness, a sense of hopelessness and loss. It was not that she could not escape the putrid odors of the world, nor that she was forced to feel their taste deep inside her being. It was that she knew that taste was mold, and trash, and carcass, and yet she couldn’t help but enjoy it.](if: $axis1 is "anger") [The son had managed to roll his beloved out of the damp lawn and into the street. It took him hours. He had not forgotten his own seafaring urges but thought, with certainty, that if he managed to submerge his partner in more generous waters, he would wake up, as one does, moist and lively. Each time he would thrust himself underneath him, however, his beloved grew more unwieldy, weightier, until he would not budge at all. When the son found himself incapable of moving him any further, he was overcome with rage. He tried hitting his own carapace with whatever strength he had left but noticed that the bent of his joints only allowed for a light tapping. And so he tapped away, tapping and tapping until his joints went sore. A light rain started to fall. When he finally surrendered to the beckoning of the shores, he made his pilgrimage alone.](else-if: $axis1 is "joy")[On her way to the sea, the daughter meandered, letting herself be governed by the curiosity of her limbs. She climbed on top of things, hid beneath others. She tore open the door of an abandoned car just to lay inside for the briefest of moments and clung to the side of a stranger’s house just because she could. There was a playfulness coded deep into her constant gurgling; her movement compelled by an engine of joy. As she neared the shore, a light rain fell upon her. The air was pregnant with salt.](else-if: $axis1 is "sadness")[When the mother emerged from the bathroom, she found her husband gasping on the floor covered in rotten milk and pungent pastes. They gurgled at one another with a tired sadness, recognizing a shared, primal need. And so they both surrendered to the beckoning of the shores, making their pilgrimage together. Behind them, the house they had inhabited for decades disappeared into the horizon, inhospitable, hostile. As they made their way to the ocean, a light rain soothed their barren gills.](set: $time to 8)(live: 1s)[(set: $time to it - 1)]
.(live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]]
.(live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]]
.(live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ":...:", ".:.:.", ".", "..", "...", ".:.", "..:..", "...:...", ":", ":.", ":..", ":...", ".:", "..:", "...:", ">", ">>", "<", "<<", "><", "<>", "<<>>", ">><<", "o", "oo", "O", "OO", "oO", "Oo", "oOo", "OoO")(if: $time is 0)[(stop:)]]